package model

type OrderStatus int8

// 订单
const (
	OrderStatusNone    OrderStatus = 0
	OrderStatusCREATE  OrderStatus = 1 //新订单
	OrderStatusPAYMENT OrderStatus = 7 //已付款未发货
	OrderStatusCANCEL  OrderStatus = 8 //取消
	OrderStatusSUCCESS OrderStatus = 9 //发货成功
)

func init() {
	Register(&Order{})
}

type Order struct {
	OID    string `bson:"_id" json:"_id,omitempty"`
	Uid    string `bson:"uid" json:"uid"  index:"name:_idx_uid_primary,Sort:asc,Priority:99" `
	IID    int32  `bson:"iid" json:"iid"  index:"name:_idx_uid_primary,Sort:desc,Priority:100"`
	Code   string `bson:"code" json:"code"`             //平台商店代码
	Trade  string `json:"trade,omitempty" bson:"trade"` //平台订单号，用于对账
	Branch string `json:"branch" bson:"branch"`         //支付平台
	//Update int64       `bson:"update" json:"-"   `    //最后更新时间
	Create int64       `json:"create" bson:"create" ` //订单创建时间
	Status OrderStatus `json:"status" bson:"status"`  //状态
	Amount float32     `json:"amount" bson:"amount"`  //订单金额(元，默认货币)
	//Expire   int64       `json:"expire,omitempty" bson:"expire"` //过期时间
	//OrderId  string  `json:"orderid" bson:"orderid" ` //平台订单号，用于对账
	Receive  float32 `json:"receive" bson:"receive"` //实际到账金额(元),平台折扣，代金券之类会抵消部分金额
	Currency string  `json:"cyt" bson:"cyt"`         //平台对账默认币种
}

// TableName 数据库表名
func (this *Order) TableName() string {
	return "orders"
}
